home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / bin / scilab < prev    next >
Text File  |  1999-09-16  |  5KB  |  256 lines

  1. #!/bin/sh
  2. # Warning : some old versions of sh dont allow inline function definitions
  3. # like do_scilex()... . In this case use a system V sh (sh5)
  4. # Set the SCI environment variable if not already set
  5. if test "$SCI" = ""; then
  6.   SCI="/store3/sci/scilab-2.2"
  7. fi
  8. PRINTERS="lp:LaserHP:SalleBal:LaserLabo|labo:Secretariat:ColorPS"
  9. #############################################################################
  10. #                                                                           #
  11. #                       DO NOT MODIFY BELOW THIS LINE                       #
  12. #                                                                           #
  13. #############################################################################
  14. export SCI
  15. export PRINTERS
  16. VERSION="Scilab-2.2"
  17. export VERSION
  18.  
  19. do_scilex()
  20. {
  21.     PATH=$PATH:$SCI:$SCI/util
  22.     export PATH
  23.     XAPPLRESDIR=$SCI/X11_defaults
  24.     export XAPPLRESDIR
  25.     XLESSHELPFILE=$SCI/X11_defaults/xless.help
  26.     export XLESSHELPFILE
  27.     NETHELPDIR=$SCI/X11_defaults
  28.     export NETHELPDIR
  29. #    tty -s && stty kill '^U' intr '^C' erase '^H' quit '^\' eof '^D' susp '^Z'
  30.     $SCI/bin/scilex $* 
  31. }
  32.  
  33. do_geci_scilex()
  34. {
  35.     PATH=$PATH:$SCI:$SCI/util
  36.     export PATH
  37.     XAPPLRESDIR=$SCI/X11_defaults
  38.     export XAPPLRESDIR
  39.     XLESSHELPFILE=$SCI/X11_defaults/xless.help
  40.     export XLESSHELPFILE
  41.     NETHELPDIR=$SCI/X11_defaults
  42.     export NETHELPDIR
  43. #    tty -s && stty kill '^U' intr '^C' erase '^H' quit '^\' eof '^D' susp '^Z'
  44.     $SCI/bin/scilex*
  45. #    $SCI/bin/geci -local $SCI/bin/scilex $* 
  46. }
  47.  
  48. do_help()
  49. {
  50. echo "Usage  :"
  51. echo     "    scilab [-ns -nw -display display]"
  52. echo     "    scilab -help <key>"
  53. echo     "    scilab -k <key>"
  54. echo     "    scilab -link <objects>"
  55. echo     "    scilab -function <function-name>"
  56. echo     "    scilab -print_p file printer"
  57. echo     "    scilab -print_l file printer"
  58. echo     "    scilab -save_p file format"
  59. echo     "    scilab -save_l file format"
  60. }
  61.  
  62. do_mank()
  63. {
  64.     f1=`grep -i $1 $SCI/man/Man-Part1/whatis 2> /dev/null`
  65.     f2=`grep -i $1 $SCI/man/Man-Part2/whatis 2> /dev/null`
  66.     if  test -n "$f1$f2" 
  67.     then
  68.         grep -i $1 $SCI/man/Man-Part1/whatis 2> /dev/null
  69.         grep -i $1 $SCI/man/Man-Part2/whatis 2> /dev/null
  70.     else
  71.         echo $1: nothing appropriate
  72.     fi
  73. }
  74.  
  75. do_man()
  76. {
  77.     
  78.     
  79.         MAN=$SCI/man
  80.     f=`ls $MAN/*/cat*/$1.* 2> /dev/null`
  81.     if  test -n "$f"
  82.     then 
  83.         cat $f
  84.     else
  85.         echo No manual entry for $1
  86.     fi
  87. #    echo $f 
  88. }
  89.  
  90. do_compile()
  91. {
  92.     umask 002
  93.     rm -f report
  94.     name=`basename $1 .sci`
  95.     echo generating $name.bin
  96.     echo "%u=file('open','$name.bin','unknown','unformatted');predef();\
  97.           getf('$name.sci','c');save(%u),file('close',%u);quit"\
  98.           | $SCI/bin/scilex -ns -nw | sed 1,/--\>/d 1>report 2>&1
  99.     if (grep error report 1> /dev/null  2>&1);
  100.     then cat report;echo " " 
  101.        echo see `pwd`/report for more informations
  102.        grep libok report>/dev/null; 
  103.     else rm -f report;
  104.     fi
  105.     umask 022
  106.     exit 0
  107. }
  108.  
  109. do_lib()
  110. {
  111.     umask 002
  112.     rm -f report
  113.     echo "%u=file('open','$2/lib','unknown','unformatted');$1=lib('$2/');\
  114.           save(%u,$1);file('close',%u);quit"\
  115.           | $SCI/bin/scilex -ns -nw |sed 1,/--\>/d 1>report 2>&1
  116.     if (grep error report 1> /dev/null  2>&1);
  117.     then cat report;echo " " 
  118.         echo see `pwd`/report for more informations
  119.         grep libok report>/dev/null; 
  120.     else rm -f report;
  121.     fi
  122.     umask 022
  123.     exit 0
  124. }
  125.  
  126.  
  127. do_print() 
  128. {
  129.     $SCI/bin/BEpsf $1 $2 
  130.     lpr -P$3 $2.eps
  131.     rm -f $2 $2.eps
  132.  
  133. }
  134.  
  135. do_save() 
  136. {
  137.     case $3 in 
  138.           Postscript)
  139.         $SCI/bin/BEpsf $1 $2 
  140.                ;;
  141.           Postscript-Latex)
  142.         $SCI/bin/Blatexpr $1 1.0 1.0 $2 
  143.            ;;
  144.       Xfig)
  145.         case $1 in
  146.         -portrait)
  147.             mv $2 $2.fig
  148.         ;;
  149.         -landscape)
  150.             sed -e "2s/Portrait/Landscape/" $2 >$2.fig
  151.             rm -f $2
  152.         ;;
  153.         esac
  154.                ;;
  155.     esac
  156. }
  157.  
  158.  
  159. case $# in
  160.     0)
  161.     do_geci_scilex &
  162.         ;;
  163.     1)
  164.         case $1 in
  165.              -ns)
  166.         do_scilex $* &
  167.         ;;
  168.          -nw)    
  169.         do_geci_scilex $*
  170.         ;;
  171.          -help)
  172.         
  173.         do_man scilab | cat
  174.         ;;
  175.              -link|-function|-k)
  176.         do_help
  177.                  ;;
  178.              *)
  179.         do_help
  180.                 ;;
  181.         esac
  182.         ;;
  183.     2)
  184.         case $1 in
  185.              -ns)
  186.                 case $2 in 
  187.                    -nw)
  188.                       do_scilex $*
  189.                       ;;
  190.                    *)
  191.                       do_scilex $* &
  192.                       ;;
  193.                 esac
  194.         ;;
  195.          -nw)
  196.         do_geci_scilex $* 
  197.         ;;
  198.              -display)
  199.         do_geci_scilex $*
  200.         ;;
  201.             -help)
  202.         do_man $2|cat
  203.                 ;;
  204.             -comp)
  205.         do_compile $2
  206.                 ;;
  207.         -k)
  208.         do_mank $2
  209.         ;;
  210.             -link)
  211.                 shift
  212.         $SCI/bin/scilink $SCI $*
  213.                 ;;
  214.             -function)
  215.         $SCI/bin/minfopr $SCI $2
  216.         ;;
  217.             *)
  218.         do_help
  219.                 ;;
  220.         esac
  221.         ;;
  222.     3)
  223.         case $1 in
  224.             -lib)
  225.         do_lib $2 $3
  226.                 ;;
  227.             -print_l)
  228.                 do_print -landscape $2 $3
  229.                 ;;
  230.             -print_p)
  231.                 do_print -portrait $2 $3
  232.                 ;;
  233.             -save_l)
  234.                 do_save -landscape $2 $3
  235.                 ;;
  236.             -save_p)
  237.                 do_save -portrait $2 $3
  238.                 ;;
  239.             *)
  240.         do_help
  241.                 ;;
  242.         esac
  243.         ;;
  244.     *)
  245.         case $1 in
  246.             -link)
  247.                 shift
  248.         $SCI/bin/scilink $SCI $*
  249.                 ;;
  250.             *)
  251.         do_help
  252.                 ;;
  253.         esac
  254.         ;;
  255. esac
  256.